package org.larkdoc.service;

import java.util.List;

import org.larkdoc.model.entity.ProjectRelUser;

/**
 * 项目与用户业务接口
 * 
 * @author  zhangpeijun[zhangpeijun1024@qq.com]
 * @version  [v1.0.1, 2017年10月17日]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
public interface ProjectRelUserService {
    
    /**
     * 根据项目ID删除记录
     * @param projectId
     * @return
     * 
     * @returns int
     * @see [类、类#方法、类#成员]
     * @author  zhangpeijun[zhangpeijun1024@qq.com]<br/>
     *          2017年10月17日下午3:42:51
     */
    int deleteByProjectId(Integer projectId);
    
    /**
     * 批量新增记录
     * @param records
     * @return
     * 
     * @returns int
     * @see [类、类#方法、类#成员]
     * @author  zhangpeijun[zhangpeijun1024@qq.com]<br/>
     *          2017年10月17日下午3:43:08
     */
    int insertBatch(List<ProjectRelUser> records);
    
    /**
     * 根据项目ID查询记录
     * @param projectId
     * @return
     * 
     * @returns List<ProjectRelUser>
     * @see [类、类#方法、类#成员]
     * @author  zhangpeijun[zhangpeijun1024@qq.com]<br/>
     *          2017年10月17日下午3:43:24
     */
    List<ProjectRelUser> queryByProjectId(Integer projectId);
    
    /**
     * 根据项目ID集查询记录
     * @param projectId
     * @return
     * 
     * @returns List<ProjectRelUser>
     * @see [类、类#方法、类#成员]
     * @author  zhangpeijun[zhangpeijun1024@qq.com]<br/>
     *          2017年10月17日下午3:44:24
     */
    List<ProjectRelUser> queryByProjectId(List<Integer> projectId);
    
    /**
     * 检测用户是否归属项目
     * @param projectId
     * @param userId
     * @return
     * 
     * @returns boolean
     * @see [类、类#方法、类#成员]
     * @author  zhangpeijun[zhangpeijun1024@qq.com]<br/>
     *          2017年12月10日下午12:15:47
     */
    boolean checkUserBelongProject(Integer projectId,Integer userId);
}
